package com.jic.manager.service;

import com.alibaba.fastjson.JSONObject;
import com.jic.common.base.vo.Page;
import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.manager.entity.Merchant;
import com.jic.manager.request.MerchantRequest;
import com.jic.manager.response.MemMerchantInfoResponse;
import com.jic.manager.response.MerchantResponse;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
* 商家表
* @author : 
* @email : 
* @since : 2020-02-26 09:40:44
* @version : v1.0.0
*/
public interface MerchantService {

    long insert(Merchant merchant);

    long delete(Long id);

    long update(Merchant merchant);

    Merchant queryByPrimaryKey(Long id);

    List<Merchant> query(Merchant merchant);

    PageResult<Merchant> queryPage(Merchant merchant, Page pageQuery);

    RestResult<String> editMerchantInfo(MerchantRequest merchantRequest);

    RestResult<String> merchantsSettled(MerchantRequest merchantRequest) throws Exception;

    MemMerchantInfoResponse getShopList(Long merchantId);

    PageResult<Merchant> queryMerchantPage(Merchant merchant, Page pageQuery);

    RestResult importMerchantInfo(List<MerchantRequest> merchantList);

    RestResult<List<MerchantRequest>> queryMerchantListByid(List<Long> merchantList);

    RestResult<Merchant> getByThirdMerchantCode(String code);


    RestResult importMerchantInfoByExcel(MultipartFile file,Long childcode)throws IOException;

    List<Merchant> queryMerchantPageOther(Merchant merchant);


    MemMerchantInfoResponse getGrowhtScopeInfo(Long merchantId);

    List<MerchantResponse> queryBySelect(MerchantRequest merchant);

    List<MemMerchantInfoResponse> getMerchantList(List<Long> deptIds);

    List<JSONObject> getMerchantToSett();
}